home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / OCEMailbox.a < prev    next >
Text File  |  1996-05-01  |  67KB  |  1,786 lines

  1. ;
  2. ;    File:        OCEMailbox.a
  3. ;
  4. ;    Contains:    Apple Open Collaboration Environment OCEMaibox Interfaces.
  5. ;
  6. ;    Version:    Technology:    AOCE Toolbox 1.02
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__OCEMAILBOX__') = 'UNDEFINED' THEN
  19. __OCEMAILBOX__ SET 1
  20.  
  21.     IF &TYPE('__OCE__') = 'UNDEFINED' THEN
  22.     include 'OCE.a'
  23.     ENDIF
  24.     IF &TYPE('__OCEMAIL__') = 'UNDEFINED' THEN
  25.     include 'OCEMail.a'
  26.     ENDIF
  27.     IF &TYPE('__OCEMESSAGING__') = 'UNDEFINED' THEN
  28.     include 'OCEMessaging.a'
  29.     ENDIF
  30.     IF &TYPE('__OCESTANDARDMAIL__') = 'UNDEFINED' THEN
  31.     include 'OCEStandardMail.a'
  32.     ENDIF
  33.     IF FOR_SYSTEM7_ONLY THEN
  34. ;  opaque references, iterators, and progress indicator 
  35.  
  36. kMBMaxNumEnclosures                EQU        50
  37. ; ********************************************************
  38. ;  Error codes, will be moved to OCEErrors.h 
  39. ; *********************************************************
  40.  
  41. kOCEIncompletedCallsErr            EQU        -15069                ; calls operating within that container have not yet completed 
  42. kOCEInvalidMBContainerTokenErr    EQU        -15070                ; the container token specified is invalid 
  43. kOCERefExhaustedErr                EQU        -15071                ; all reference slots have been used 
  44. kOCEInvalidIteratorErr            EQU        -15072                ; the Iterator specified is not valid 
  45. kOCEItemAlreadyLocalErr            EQU        -15073                ; the letter is already local 
  46. kOCEIteratorOutOfRangeErr        EQU        -15074                ; the iterator fell off the list of mail items 
  47. kOCEInvalidSortOrder            EQU        -15075                ; sort order is invalid or unsupported 
  48. kOCEInvalidSortDirection        EQU        -15076                ; sort direction is invalid or unsupported 
  49. kOCEInvalidMailItemFilter        EQU        -15077                ; filter is invalid or unsupported 
  50. kOCECopyOperationCanceled        EQU        -15078                ; copy operation is canceled 
  51. kOCECopyAlreadyCompleted        EQU        -15079                ; copy operation cannot be canceled because it is already finished 
  52. kOCEInvalidContainerType        EQU        -15080                ; the specified container type is invalid 
  53. kOCECannotUnmountMailboxErr        EQU        -15081                ; cannot unmount the mailbox 
  54. kOCEInvalidLetterSpecErr        EQU        -15082                ; letter spec is not valid 
  55. kOCECannotCloseContainerErr        EQU        -15083                ; cannot close the container 
  56. kOCEFontNotDeclared                EQU        -15084                ; cannot find font in font table 
  57. kOCEFontTableNotFound            EQU        -15085                ; cannot find the font table in the letter 
  58.  
  59. kOCENoProgressIndicator            EQU        0
  60. ; ********************************************************
  61. ;  Mailbox Gestalt Values 
  62. ; ********************************************************
  63.  
  64. gestaltOCEMailboxAPIAttr        EQU        'mbxa'
  65. gestaltMailboxAPIPresent        EQU        $01                    ; Mailbox API is present 
  66. gestaltSupportsOutbox            EQU        $02                    ; supports outbox access 
  67. gestaltSupportsErrorLog            EQU        $04                    ; supports mailbox error log 
  68. ; ********************************************************
  69. ;  Mailbox Data Structures 
  70. ; ********************************************************
  71. ; typedef UInt32                         MBMailboxToken
  72.  
  73. MBMailboxData            RECORD 0
  74. mboxToken                 ds.l    1                ; offset: $0 (0)
  75. authID                     ds.l    1                ; offset: $4 (4)
  76. dataType                 ds.l    1                ; offset: $8 (8)
  77. creator                     ds.l    1                ; offset: $C (12)
  78. dataClass                 ds.l    1                ; offset: $10 (16)
  79. modTime                     ds        MailTime        ; offset: $14 (20)
  80. name                     ds        RString64        ; offset: $1C (28)
  81. sizeof                     EQU *                    ; size:   $60 (96)
  82.                         ENDR
  83. ;      MBPermissions control whether other applications can detect that mailbox has been mounted 
  84. ; typedef UInt32                         MBPermissions
  85.  
  86.  
  87. kMBPermissionsPublicMount        EQU        $00000000
  88. kMBPermissionsPrivateMount        EQU        $00000001
  89. ; ********************************************************
  90. ;  Container Data Structures 
  91. ; *********************************************************
  92. ;
  93. ;    These structures are used to manipulate and list the mailbox containers. 
  94. ;    A container is a logical collection of mailbox items.  Examples of some 
  95. ;    standard containers are the inbox and the outbox. 
  96. ;
  97. ; typedef UInt32                         MBContainerType
  98.  
  99.  
  100. kMBUndefinedContainerType        EQU        $00000000
  101. kMBInboxContainerType            EQU        'inbx'
  102. kMBOutboxContainerType            EQU        'otbx'
  103. MBContainerToken        RECORD 0
  104. reserved                 ds.l    3                ; offset: $0 (0)
  105. sizeof                     EQU *                    ; size:   $C (12)
  106.                         ENDR
  107. ; typedef UInt32                         MBContainerStatus
  108.  
  109.  
  110. kMBConnectionStatusUndefined    EQU        $00000000
  111. kMBContainerStatusConnected        EQU        $00000001
  112. kMBContainerStatusNotConnected    EQU        $00000002
  113. ; typedef UInt32                         MBContainerFlags
  114.  
  115.  
  116. kMBContainerLocal                EQU        $00000000
  117. kMBContainerRemote                EQU        $00000001
  118. kMBContainerLocalAndRemote        EQU        $00000002
  119. ; typedef UInt32                         MBContainerLocation
  120.  
  121.  
  122. kMBInboxContainerCreator        EQU        'ptps'
  123. kMBOutboxContainerCreator        EQU        'ptps'
  124.  
  125. kMBContainerSystemClass            EQU        'sys '
  126. kMBContainerPMSAMClass            EQU        'pmsm'
  127. kMBContainerUserClass            EQU        'user'
  128. ; typedef UInt32                         MBContainerClass
  129.  
  130. MBContainerData            RECORD 0
  131. containerToken             ds        MBContainerToken ; offset: $0 (0)
  132. reserved                 ds        MBContainerToken ; offset: $C (12)
  133. location                 ds.l    1                ; offset: $18 (24)
  134. status                     ds.l    1                ; offset: $1C (28)
  135. capabilities             ds.l    3                ; offset: $20 (32)
  136. containerType             ds.l    1                ; offset: $2C (44)
  137. creator                     ds.l    1                ; offset: $30 (48)
  138. containerClass             ds.l    1                ; offset: $34 (52)
  139. name                     ds        RString64        ; offset: $38 (56)
  140. sizeof                     EQU *                    ; size:   $7C (124)
  141.                         ENDR
  142. ; typedef UInt8                         AddressAsType
  143.  
  144. ;
  145. ;     AddressAsType is actually an enumerated type and its constants
  146. ;    kAddressedAs_TO, kAddressedAs_CC, and kAddressedAs_BCC are
  147. ;    defined in OCEMail.h in an anonymous enum list. 
  148. ;
  149. MBInboxLetterData        RECORD 0
  150. seqNum                     ds        MailSeqNum        ; offset: $0 (0)
  151. letterFlags                 ds        MailLetterFlags ; offset: $6 (6)
  152. approximateSize             ds.l    1                ; offset: $A (10)        ;  approximate size of letter         
  153. indications                 ds.l    1                ; offset: $E (14)
  154. creatorType                 ds        OCECreatorType ; offset: $12 (18)
  155. sendTime                 ds        MailTime        ; offset: $1A (26)        ;  time that message was sent        
  156. family                     ds.l    1                ; offset: $22 (34)
  157. filler                     ds.b    1                ; offset: $26 (38)
  158. addressedToMe             ds.b    1                ; offset: $27 (39)        ;  addressed as TO, CC or BCC         
  159. sender                     ds        RString64        ; offset: $28 (40)
  160. subject                     ds        RString64        ; offset: $6C (108)        ;  subject is truncated              
  161. sizeof                     EQU *                    ; size:   $B0 (176)
  162.                         ENDR
  163. MBOutboxLetterData        RECORD 0
  164. seqNum                     ds        MailSeqNum        ; offset: $0 (0)
  165. family                     ds.l    1                ; offset: $6 (6)        ;  family this message belongs to     
  166. creatorType                 ds        OCECreatorType ; offset: $A (10)
  167. messageID                 ds        IPMMsgID        ; offset: $12 (18)
  168. submitTime                 ds        MailTime        ; offset: $22 (34)
  169. approximateSize             ds.l    1                ; offset: $2A (42)        ;  approximate size of letter         
  170. recipientCount             ds.l    1                ; offset: $2E (46)        ;  number of recipients of message     
  171. pendingRecipientCount     ds.l    1                ; offset: $32 (50)        ;  number of recipients left to send by this slot 
  172. state                     ds.w    1                ; offset: $36 (54)
  173. subject                     ds        RString64        ; offset: $38 (56)        ;  subject is truncated             
  174. sizeof                     EQU *                    ; size:   $7C (124)
  175.                         ENDR
  176. ; typedef UInt32                         MBMailItemType
  177.  
  178.  
  179. kMBMailItemTypeUndefined        EQU        $00000000
  180. kMBInboxLetter                    EQU        $00000001
  181. kMBOutboxLetter                    EQU        $00000002
  182. ;  Filters for MBGetMailItemCount 
  183.  
  184. kMBNoFilterMask                    EQU        $00000000
  185. kMBInTrashFilterMask            EQU        $00000004
  186. ; typedef UInt32                         MBMailItemFilter
  187.  
  188. MBMailItemData            RECORD 0
  189. itemType                 ds.l    1                ; offset: $0 (0)
  190. inboxLetter                 ds        MBInboxLetterData ; offset: $4 (4)
  191.                          ORG 4
  192. outboxLetter             ds        MBOutboxLetterData ; offset: $4 (4)
  193.                          ORG 180
  194. sizeof                     EQU *                    ; size:   $B4 (180)
  195.                         ENDR
  196. ;  Used to mark an item read or unread using MBMarkLetter 
  197. ; typedef UInt32                         MBLetterReadStatus
  198.  
  199.  
  200. kMBLeaveReadMark                EQU        $00000000
  201. kMBMarkLetterRead                EQU        $00000001
  202. kMBMarkLetterUnread                EQU        $00000002
  203. ;  Used to mark an item in or out of trash using MBMarkLetter 
  204. ; typedef UInt32                         MBLetterTrashStatus
  205.  
  206.  
  207. kMBLeaveTrashMark                EQU        $00000000
  208. kMBMarkLetterInTrash            EQU        $00000001
  209. kMBMarkLetterNotInTrash            EQU        $00000002
  210. ; ********************************************************
  211. ;  Changes Enumeration Data Structures 
  212. ; *********************************************************
  213. ; typedef UInt32                         MBMailItemChangeType
  214.  
  215.  
  216. kMBNoChange                        EQU        $00000000
  217. kMBNewLetter                    EQU        $00000001
  218. kMBDeletedLetter                EQU        $00000002
  219. kMBChangedLetter                EQU        $00000004
  220. kMBAllChanges                    EQU        $7FFFFFFF
  221. ; typedef UInt32                         MBNotificationMask
  222.  
  223.  
  224. kMBNoNotification                EQU        $00000000
  225. kMBNotificationNewMailItem        EQU        $00000001
  226. kMBNotificationDeletedMailItem    EQU        $00000002
  227. kMBNotificationChangedMailItem    EQU        $00000004
  228. kMBNotificationMBReset            EQU        $00000008            ; must re-enumerate container contents 
  229. kMBNotificationMailboxGoingAway    EQU        $00000010
  230. kMBNotificationMSAMError        EQU        $00000020
  231. kMBIgnoreThisNotification        EQU        $80000000            ; for future extensibility 
  232. kMBAllNotifications                EQU        $7FFFFFFF
  233. ; *********************************************************
  234. ;  For mail item iterators 
  235. ; *********************************************************
  236. ; typedef UInt32                         MBSortOrder
  237.  
  238.  
  239. kMBSortOrderMailSeqNum            EQU        $00000001
  240. ; typedef UInt32                         MBSortDirection
  241.  
  242.  
  243. kMBAscending                    EQU        0
  244. ;  forward declaration 
  245.  
  246.  
  247. ; ------------------------------------------------------------------------------
  248. ;      Parameter Blocks for the Operations                                        
  249. ; ------------------------------------------------------------------------------
  250. ; ********************************************************
  251. ;  Mailbox Operations 
  252. ; ********************************************************
  253. ;  Mounts the mailbox. Returns a mailboxRef which should be used on all future operations. 
  254. MBMountMailboxPB        RECORD 0
  255. qLink                     ds.l    1                ; offset: $0 (0)
  256. reservedH1                 ds.l    1                ; offset: $4 (4)
  257. reservedH2                 ds.l    1                ; offset: $8 (8)
  258. ioCompletion             ds.l    1                ; offset: $C (12)
  259. ioResult                 ds.w    1                ; offset: $10 (16)
  260. saveA5                     ds.l    1                ; offset: $12 (18)
  261. reqCode                     ds.w    1                ; offset: $16 (22)
  262. authID                     ds.l    1                ; offset: $18 (24)        ;   --> valid user authentication 
  263. reserved1                 ds.l    1                ; offset: $1C (28)        ;   --> must be set to 0 
  264. reserved2                 ds.l    1                ; offset: $20 (32)        ;   --> must be set to 0 
  265. mailboxDataPtr             ds.l    1                ; offset: $24 (36)        ;  <--> user supplied buffer for mailbox data 
  266. mailboxRef                 ds.l    1                ; offset: $28 (40)        ;  <--  allows user to access contents of the mailbox 
  267. sizeof                     EQU *                    ; size:   $2C (44)
  268.                         ENDR
  269. ;  Unmounts the Mailbox. After this call, the mailboxRef is no longer valid. 
  270. MBUnmountMailboxPB        RECORD 0
  271. qLink                     ds.l    1                ; offset: $0 (0)
  272. reservedH1                 ds.l    1                ; offset: $4 (4)
  273. reservedH2                 ds.l    1                ; offset: $8 (8)
  274. ioCompletion             ds.l    1                ; offset: $C (12)
  275. ioResult                 ds.w    1                ; offset: $10 (16)
  276. saveA5                     ds.l    1                ; offset: $12 (18)
  277. reqCode                     ds.w    1                ; offset: $16 (22)
  278. mailboxRef                 ds.l    1                ; offset: $18 (24)        ;   --> ref of mailbox to unmount 
  279. reserved                 ds.l    1                ; offset: $1C (28)        ;   --> must be set to 0 
  280. sizeof                     EQU *                    ; size:   $20 (32)
  281.                         ENDR
  282. ; ********************************************************
  283. ;  Container and Mail Item Operations 
  284. ; *********************************************************
  285. ;  Opens the container for use, returns a containerRef which should be used in all future Container operations 
  286. MBOpenContainerPB        RECORD 0
  287. qLink                     ds.l    1                ; offset: $0 (0)
  288. reservedH1                 ds.l    1                ; offset: $4 (4)
  289. reservedH2                 ds.l    1                ; offset: $8 (8)
  290. ioCompletion             ds.l    1                ; offset: $C (12)
  291. ioResult                 ds.w    1                ; offset: $10 (16)
  292. saveA5                     ds.l    1                ; offset: $12 (18)
  293. reqCode                     ds.w    1                ; offset: $16 (22)
  294. mailboxRef                 ds.l    1                ; offset: $18 (24)        ;   --> authenticates client to access contents 
  295. containerToken             ds        MBContainerToken ; offset: $1C (28)        ;   --> containerToken, persistent accross sessions 
  296. containerRef             ds.l    1                ; offset: $28 (40)        ;  <--  specifies the mounted mailbox we are dealing with 
  297. sizeof                     EQU *                    ; size:   $2C (44)
  298.                         ENDR
  299. ;  Closes the container and invalidates the containerRef 
  300. MBCloseContainerPB        RECORD 0
  301. qLink                     ds.l    1                ; offset: $0 (0)
  302. reservedH1                 ds.l    1                ; offset: $4 (4)
  303. reservedH2                 ds.l    1                ; offset: $8 (8)
  304. ioCompletion             ds.l    1                ; offset: $C (12)
  305. ioResult                 ds.w    1                ; offset: $10 (16)
  306. saveA5                     ds.l    1                ; offset: $12 (18)
  307. reqCode                     ds.w    1                ; offset: $16 (22)
  308. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> ref to container you wish to close 
  309. forceClose                 ds.b    1                ; offset: $1C (28)        ;   --> true to close in spite of outstanding letters that have not been closed 
  310. filler                     ds.b    1                ; offset: $1D (29)
  311. sizeof                     EQU *                    ; size:   $1E (30)
  312.                         ENDR
  313. ;  Reconnect open container to remote service 
  314. MBReconnectOpenContainerPB RECORD 0
  315. qLink                     ds.l    1                ; offset: $0 (0)
  316. reservedH1                 ds.l    1                ; offset: $4 (4)
  317. reservedH2                 ds.l    1                ; offset: $8 (8)
  318. ioCompletion             ds.l    1                ; offset: $C (12)
  319. ioResult                 ds.w    1                ; offset: $10 (16)
  320. saveA5                     ds.l    1                ; offset: $12 (18)
  321. reqCode                     ds.w    1                ; offset: $16 (22)
  322. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> the container ref to which to reconnect 
  323. reserved1                 ds.l    1                ; offset: $1C (28)        ;   --> must be set to 0 
  324. reserved2                 ds.l    1                ; offset: $20 (32)        ;   --> must be set to 0 
  325. sizeof                     EQU *                    ; size:   $24 (36)
  326.                         ENDR
  327. ;  Returns the mail item with the specified mail sequence number 
  328. MBGetMailItemDataPB        RECORD 0
  329. qLink                     ds.l    1                ; offset: $0 (0)
  330. reservedH1                 ds.l    1                ; offset: $4 (4)
  331. reservedH2                 ds.l    1                ; offset: $8 (8)
  332. ioCompletion             ds.l    1                ; offset: $C (12)
  333. ioResult                 ds.w    1                ; offset: $10 (16)
  334. saveA5                     ds.l    1                ; offset: $12 (18)
  335. reqCode                     ds.w    1                ; offset: $16 (22)
  336. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> ref to container from which you wish to get data 
  337. seqNum                     ds        MailSeqNum        ; offset: $1C (28)        ;   --> mail sequence number of the letter 
  338. dataPtr                     ds.l    1                ; offset: $22 (34)        ;  <--> user supplied buffer where to copy data 
  339. sizeof                     EQU *                    ; size:   $26 (38)
  340.                         ENDR
  341. ;  Returns the number of items in the container (filtered, if specified) 
  342. MBGetMailItemCountPB    RECORD 0
  343. qLink                     ds.l    1                ; offset: $0 (0)
  344. reservedH1                 ds.l    1                ; offset: $4 (4)
  345. reservedH2                 ds.l    1                ; offset: $8 (8)
  346. ioCompletion             ds.l    1                ; offset: $C (12)
  347. ioResult                 ds.w    1                ; offset: $10 (16)
  348. saveA5                     ds.l    1                ; offset: $12 (18)
  349. reqCode                     ds.w    1                ; offset: $16 (22)
  350. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> container whose items are to be counted  
  351. filter                     ds.l    1                ; offset: $1C (28)        ;   --> filter to apply when counting items     
  352. count                     ds.l    1                ; offset: $20 (32)        ;  <--  number of items of that type in the container 
  353. sizeof                     EQU *                    ; size:   $24 (36)
  354.                         ENDR
  355. ;
  356. ; Allocates the memory and sets the Iterator to the first 
  357. ;   of the mail items of that type in the container. 
  358. ;
  359. MBCreateMailItemIteratorPB RECORD 0
  360. qLink                     ds.l    1                ; offset: $0 (0)
  361. reservedH1                 ds.l    1                ; offset: $4 (4)
  362. reservedH2                 ds.l    1                ; offset: $8 (8)
  363. ioCompletion             ds.l    1                ; offset: $C (12)
  364. ioResult                 ds.w    1                ; offset: $10 (16)
  365. saveA5                     ds.l    1                ; offset: $12 (18)
  366. reqCode                     ds.w    1                ; offset: $16 (22)
  367. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> ref of container where iterator should be set 
  368. sortOrder                 ds.l    1                ; offset: $1C (28)        ;   --> sort order 
  369. sortDirection             ds.l    1                ; offset: $20 (32)        ;   --> sort direction 
  370. reserved                 ds.l    2                ; offset: $24 (36)        ;   --> must be set to 0 
  371. iterator                 ds.l    1                ; offset: $2C (44)        ;  <--  iterator returned here, client allocates memory    
  372. sizeof                     EQU *                    ; size:   $30 (48)
  373.                         ENDR
  374. ;  Dispose of the MBMailItemIterator 
  375. MBDisposeMailItemIteratorPB RECORD 0
  376. qLink                     ds.l    1                ; offset: $0 (0)
  377. reservedH1                 ds.l    1                ; offset: $4 (4)
  378. reservedH2                 ds.l    1                ; offset: $8 (8)
  379. ioCompletion             ds.l    1                ; offset: $C (12)
  380. ioResult                 ds.w    1                ; offset: $10 (16)
  381. saveA5                     ds.l    1                ; offset: $12 (18)
  382. reqCode                     ds.w    1                ; offset: $16 (22)
  383. iterator                 ds.l    1                ; offset: $18 (24)        ;   --> the iterator to dispose of    
  384. sizeof                     EQU *                    ; size:   $1C (28)
  385.                         ENDR
  386. MBMailItemIteratePB        RECORD 0
  387. qLink                     ds.l    1                ; offset: $0 (0)
  388. reservedH1                 ds.l    1                ; offset: $4 (4)
  389. reservedH2                 ds.l    1                ; offset: $8 (8)
  390. ioCompletion             ds.l    1                ; offset: $C (12)
  391. ioResult                 ds.w    1                ; offset: $10 (16)
  392. saveA5                     ds.l    1                ; offset: $12 (18)
  393. reqCode                     ds.w    1                ; offset: $16 (22)
  394. iterator                 ds.l    1                ; offset: $18 (24)        ;  <--> iterator to move                         
  395. dataPtr                     ds.l    1                ; offset: $1C (28)        ;  <--> user supplied buffer where to copy data 
  396. sizeof                     EQU *                    ; size:   $20 (32)
  397.                         ENDR
  398. MBResetMailItemIteratorPB RECORD 0
  399. qLink                     ds.l    1                ; offset: $0 (0)
  400. reservedH1                 ds.l    1                ; offset: $4 (4)
  401. reservedH2                 ds.l    1                ; offset: $8 (8)
  402. ioCompletion             ds.l    1                ; offset: $C (12)
  403. ioResult                 ds.w    1                ; offset: $10 (16)
  404. saveA5                     ds.l    1                ; offset: $12 (18)
  405. reqCode                     ds.w    1                ; offset: $16 (22)
  406. iterator                 ds.l    1                ; offset: $18 (24)        ;  <--> mail item iterator to reset 
  407. sizeof                     EQU *                    ; size:   $1C (28)
  408.                         ENDR
  409. ;  MarkLetter Read/Unread and/or In Trash/Out of Trash. 
  410. MBMarkLetterPB            RECORD 0
  411. qLink                     ds.l    1                ; offset: $0 (0)
  412. reservedH1                 ds.l    1                ; offset: $4 (4)
  413. reservedH2                 ds.l    1                ; offset: $8 (8)
  414. ioCompletion             ds.l    1                ; offset: $C (12)
  415. ioResult                 ds.w    1                ; offset: $10 (16)
  416. saveA5                     ds.l    1                ; offset: $12 (18)
  417. reqCode                     ds.w    1                ; offset: $16 (22)
  418. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> container in which letter resides                      
  419. seqNum                     ds        MailSeqNum        ; offset: $1C (28)        ;   --> mail sequence number of the letter                      
  420. readMark                 ds.l    1                ; offset: $22 (34)        ;   --> must be kMBLetterRead, kMBLetterUnread or kMBLeaveReadMark 
  421. trashMark                 ds.l    1                ; offset: $26 (38)        ;   --> must be kMBLetterNotInTrash, kMBLetterInTrash or kMBLeaveTrashMark 
  422. sizeof                     EQU *                    ; size:   $2A (42)
  423.                         ENDR
  424. ;  Stores the MailItem locally. 
  425. MBCopyLocalPB            RECORD 0
  426. qLink                     ds.l    1                ; offset: $0 (0)
  427. reservedH1                 ds.l    1                ; offset: $4 (4)
  428. reservedH2                 ds.l    1                ; offset: $8 (8)
  429. ioCompletion             ds.l    1                ; offset: $C (12)
  430. ioResult                 ds.w    1                ; offset: $10 (16)
  431. saveA5                     ds.l    1                ; offset: $12 (18)
  432. reqCode                     ds.w    1                ; offset: $16 (22)
  433. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> container in which letter resides 
  434. seqNum                     ds        MailSeqNum        ; offset: $1C (28)        ;   --> mail sequence number of the desired letter 
  435. progressIndicator         ds.l    1                ; offset: $22 (34)        ;   --> created using MBCreateProgressIndicatoror kOCENoProgressIndicator if client does not desire progress indication. 
  436. copyOperationRef         ds.l    1                ; offset: $26 (38)        ;  <--  ref to this copy operation for use in cancel 
  437. newSeqNum                 ds        MailSeqNum        ; offset: $2A (42)        ;  <--  seqNum of new letter after successful operation 
  438. sizeof                     EQU *                    ; size:   $30 (48)
  439.                         ENDR
  440. MBCopyToFilePB            RECORD 0
  441. qLink                     ds.l    1                ; offset: $0 (0)
  442. reservedH1                 ds.l    1                ; offset: $4 (4)
  443. reservedH2                 ds.l    1                ; offset: $8 (8)
  444. ioCompletion             ds.l    1                ; offset: $C (12)
  445. ioResult                 ds.w    1                ; offset: $10 (16)
  446. saveA5                     ds.l    1                ; offset: $12 (18)
  447. reqCode                     ds.w    1                ; offset: $16 (22)
  448. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> container in which letter resides 
  449. seqNum                     ds        MailSeqNum        ; offset: $1C (28)        ;   --> mail sequence number of the desired letter 
  450. specPtr                     ds.l    1                ; offset: $22 (34)        ;   --> spec of file which will contain the local copy 
  451. progressIndicator         ds.l    1                ; offset: $26 (38)        ;   --> created using MBCreateProgressIndicator or kOCENoProgressIndicator if client does not desire progress indication. 
  452. copyOperationRef         ds.l    1                ; offset: $2A (42)        ;  <--  ref to this copy operation for use in cancel 
  453. sizeof                     EQU *                    ; size:   $2E (46)
  454.                         ENDR
  455. ;  Cancels the copy operation, if possible. 
  456. MBCancelCopyPB            RECORD 0
  457. qLink                     ds.l    1                ; offset: $0 (0)
  458. reservedH1                 ds.l    1                ; offset: $4 (4)
  459. reservedH2                 ds.l    1                ; offset: $8 (8)
  460. ioCompletion             ds.l    1                ; offset: $C (12)
  461. ioResult                 ds.w    1                ; offset: $10 (16)
  462. saveA5                     ds.l    1                ; offset: $12 (18)
  463. reqCode                     ds.w    1                ; offset: $16 (22)
  464. copyOperationRef         ds.l    1                ; offset: $18 (24)        ;   --> reference to copyLocal or copyToFile operation to cancel 
  465. sizeof                     EQU *                    ; size:   $1C (28)
  466.                         ENDR
  467. ;  An irrevocable delete of an item from a container. 
  468. MBDeleteLetterPB        RECORD 0
  469. qLink                     ds.l    1                ; offset: $0 (0)
  470. reservedH1                 ds.l    1                ; offset: $4 (4)
  471. reservedH2                 ds.l    1                ; offset: $8 (8)
  472. ioCompletion             ds.l    1                ; offset: $C (12)
  473. ioResult                 ds.w    1                ; offset: $10 (16)
  474. saveA5                     ds.l    1                ; offset: $12 (18)
  475. reqCode                     ds.w    1                ; offset: $16 (22)
  476. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> container in which letter resides              
  477. seqNum                     ds        MailSeqNum        ; offset: $1C (28)        ;   --> mail sequence number of the letter to delete 
  478. sizeof                     EQU *                    ; size:   $22 (34)
  479.                         ENDR
  480. ;  Forces a MailItem to be sent right now. This operation only works on MailItems in the outbox.
  481. MBSendNowPB                RECORD 0
  482. qLink                     ds.l    1                ; offset: $0 (0)
  483. reservedH1                 ds.l    1                ; offset: $4 (4)
  484. reservedH2                 ds.l    1                ; offset: $8 (8)
  485. ioCompletion             ds.l    1                ; offset: $C (12)
  486. ioResult                 ds.w    1                ; offset: $10 (16)
  487. saveA5                     ds.l    1                ; offset: $12 (18)
  488. reqCode                     ds.w    1                ; offset: $16 (22)
  489. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> ref of the outbox container in which letter resides 
  490. seqNum                     ds        MailSeqNum        ; offset: $1C (28)        ;   --> mail sequence number of the letter to send             
  491. timeOut                     ds.l    1                ; offset: $22 (34)        ;   --> time in seconds to wait for a response from server  
  492. sizeof                     EQU *                    ; size:   $26 (38)
  493.                         ENDR
  494. ; ********************************************************
  495. ;  Notification and Changes Enumeration Operations 
  496. ; *********************************************************
  497. ;  Allows a client to specify a callback routine and parameters. 
  498. MBRegisterNotificationPB RECORD 0
  499. qLink                     ds.l    1                ; offset: $0 (0)
  500. reservedH1                 ds.l    1                ; offset: $4 (4)
  501. reservedH2                 ds.l    1                ; offset: $8 (8)
  502. ioCompletion             ds.l    1                ; offset: $C (12)
  503. ioResult                 ds.w    1                ; offset: $10 (16)
  504. saveA5                     ds.l    1                ; offset: $12 (18)
  505. reqCode                     ds.w    1                ; offset: $16 (22)
  506. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> container for which to receive notifications 
  507. handler                     ds.l    1                ; offset: $1C (28)        ;   --> UPP of callback to call when changes occur      
  508. mask                     ds.l    1                ; offset: $20 (32)        ;   --> which events should cause a notification      
  509. contextPtr                 ds.l    1                ; offset: $24 (36)        ;   --> pointer to client-defined buffer is passed to handler 
  510. notificationRef             ds.l    1                ; offset: $28 (40)        ;  <--  reference to the newly registered notification 
  511. reserved                 ds.l    1                ; offset: $2C (44)        ;   --> must be set to 0 
  512. sizeof                     EQU *                    ; size:   $30 (48)
  513.                         ENDR
  514. ;  Allows client to clear the callback info. 
  515. MBUnregisterNotificationPB RECORD 0
  516. qLink                     ds.l    1                ; offset: $0 (0)
  517. reservedH1                 ds.l    1                ; offset: $4 (4)
  518. reservedH2                 ds.l    1                ; offset: $8 (8)
  519. ioCompletion             ds.l    1                ; offset: $C (12)
  520. ioResult                 ds.w    1                ; offset: $10 (16)
  521. saveA5                     ds.l    1                ; offset: $12 (18)
  522. reqCode                     ds.w    1                ; offset: $16 (22)
  523. notificationRef             ds.l    1                ; offset: $18 (24)        ;   --> reference to the notification to unregister 
  524. sizeof                     EQU *                    ; size:   $1C (28)
  525.                         ENDR
  526. ; ********************************************************
  527. ;  Progress Indication Operations 
  528. ; *********************************************************
  529. ;
  530. ; Creates a progress indicator for tracking progress of a copy operation from
  531. ;   MBCopyToFile or MBCopyLocal. 
  532. ;
  533. MBCreateProgressIndicatorPB RECORD 0
  534. qLink                     ds.l    1                ; offset: $0 (0)
  535. reservedH1                 ds.l    1                ; offset: $4 (4)
  536. reservedH2                 ds.l    1                ; offset: $8 (8)
  537. ioCompletion             ds.l    1                ; offset: $C (12)
  538. ioResult                 ds.w    1                ; offset: $10 (16)
  539. saveA5                     ds.l    1                ; offset: $12 (18)
  540. reqCode                     ds.w    1                ; offset: $16 (22)
  541. progressIndicator         ds.l    1                ; offset: $18 (24)        ;  <--  a progress indicator is returned here 
  542. sizeof                     EQU *                    ; size:   $1C (28)
  543.                         ENDR
  544. ;  Dispose the progress indicator that was previously allocated by MBCreateProgressIndicator. 
  545. MBDisposeProgressIndicatorPB RECORD 0
  546. qLink                     ds.l    1                ; offset: $0 (0)
  547. reservedH1                 ds.l    1                ; offset: $4 (4)
  548. reservedH2                 ds.l    1                ; offset: $8 (8)
  549. ioCompletion             ds.l    1                ; offset: $C (12)
  550. ioResult                 ds.w    1                ; offset: $10 (16)
  551. saveA5                     ds.l    1                ; offset: $12 (18)
  552. reqCode                     ds.w    1                ; offset: $16 (22)
  553. progressIndicator         ds.l    1                ; offset: $18 (24)        ;   --> the progress indicator to be destroyed 
  554. sizeof                     EQU *                    ; size:   $1C (28)
  555.                         ENDR
  556. ;
  557. ;    Returns the current level of progress that has been completed.
  558. ;    The following fields can be polled during the the move in order to provide a "progress" 
  559. ;     indicator. The operation will be done when workCompleted equals totalWorkAmount. 
  560. ;    totalWorkAmount is pretty much a random number and is not an indication of the amount of 
  561. ;    work involved. 
  562. ;
  563. MBGetCurrentProgressPB    RECORD 0
  564. qLink                     ds.l    1                ; offset: $0 (0)
  565. reservedH1                 ds.l    1                ; offset: $4 (4)
  566. reservedH2                 ds.l    1                ; offset: $8 (8)
  567. ioCompletion             ds.l    1                ; offset: $C (12)
  568. ioResult                 ds.w    1                ; offset: $10 (16)
  569. saveA5                     ds.l    1                ; offset: $12 (18)
  570. reqCode                     ds.w    1                ; offset: $16 (22)
  571. progressIndicator         ds.l    1                ; offset: $18 (24)
  572. totalWorkAmount             ds.l    1                ; offset: $1C (28)        ;  <--  total amount of work that needs to be done, arbitrary units 
  573. workCompleted             ds.l    1                ; offset: $20 (32)        ;  <--  how much work was completed, between 0 and fTotalWorkAmount 
  574. sizeof                     EQU *                    ; size:   $24 (36)
  575.                         ENDR
  576. ; ********************************************************
  577. ;  Miscellaneous Operations 
  578. ; *********************************************************
  579. ;  Returns the LetterSpec of a letter for use with Mailer APIs. 
  580. MBGetLetterSpecPB        RECORD 0
  581. qLink                     ds.l    1                ; offset: $0 (0)
  582. reservedH1                 ds.l    1                ; offset: $4 (4)
  583. reservedH2                 ds.l    1                ; offset: $8 (8)
  584. ioCompletion             ds.l    1                ; offset: $C (12)
  585. ioResult                 ds.w    1                ; offset: $10 (16)
  586. saveA5                     ds.l    1                ; offset: $12 (18)
  587. reqCode                     ds.w    1                ; offset: $16 (22)
  588. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> container within which the letter resides 
  589. seqNum                     ds        MailSeqNum        ; offset: $1C (28)        ;   --> mail sequence number of the letter 
  590. specPtr                     ds.l    1                ; offset: $22 (34)        ;  <--> letter spec is returned here, client-supplied buffer 
  591. sizeof                     EQU *                    ; size:   $26 (38)
  592.                         ENDR
  593. ;  Obtain a mail sequence number and open container reference from a letter spec 
  594. MBConvertLetterSpecPB    RECORD 0
  595. qLink                     ds.l    1                ; offset: $0 (0)
  596. reservedH1                 ds.l    1                ; offset: $4 (4)
  597. reservedH2                 ds.l    1                ; offset: $8 (8)
  598. ioCompletion             ds.l    1                ; offset: $C (12)
  599. ioResult                 ds.w    1                ; offset: $10 (16)
  600. saveA5                     ds.l    1                ; offset: $12 (18)
  601. reqCode                     ds.w    1                ; offset: $16 (22)
  602. specPtr                     ds.l    1                ; offset: $18 (24)        ;   --> letter spec to convert                             
  603. containerRef             ds.l    1                ; offset: $1C (28)        ;  <--  open container reference for input letter spec    
  604. seqNum                     ds        MailSeqNum        ; offset: $20 (32)        ;  <--  mail sequence number for input letter spec        
  605. sizeof                     EQU *                    ; size:   $26 (38)
  606.                         ENDR
  607. ;  Returns the containerID given a well known container type 
  608. MBGetContainerTokenPB    RECORD 0
  609. qLink                     ds.l    1                ; offset: $0 (0)
  610. reservedH1                 ds.l    1                ; offset: $4 (4)
  611. reservedH2                 ds.l    1                ; offset: $8 (8)
  612. ioCompletion             ds.l    1                ; offset: $C (12)
  613. ioResult                 ds.w    1                ; offset: $10 (16)
  614. saveA5                     ds.l    1                ; offset: $12 (18)
  615. reqCode                     ds.w    1                ; offset: $16 (22)
  616. mailboxRef                 ds.l    1                ; offset: $18 (24)        ;   --> the ref of the desired mailbox 
  617. containerType             ds.l    1                ; offset: $1C (28)        ;   --> one of the well known container types 
  618. containerToken             ds        MBContainerToken ; offset: $20 (32)        ;  <--  the container Token returned here 
  619. sizeof                     EQU *                    ; size:   $2C (44)
  620.                         ENDR
  621. ;  Returns ContainerData for a given ContainerToken. 
  622. MBGetContainerDataFromTokenPB RECORD 0
  623. qLink                     ds.l    1                ; offset: $0 (0)
  624. reservedH1                 ds.l    1                ; offset: $4 (4)
  625. reservedH2                 ds.l    1                ; offset: $8 (8)
  626. ioCompletion             ds.l    1                ; offset: $C (12)
  627. ioResult                 ds.w    1                ; offset: $10 (16)
  628. saveA5                     ds.l    1                ; offset: $12 (18)
  629. reqCode                     ds.w    1                ; offset: $16 (22)
  630. mailboxRef                 ds.l    1                ; offset: $18 (24)        ;   --> the ref of the desired mailbox 
  631. containerToken             ds        MBContainerToken ; offset: $1C (28)        ;   --> container you wish to get data from    
  632. dataPtr                     ds.l    1                ; offset: $28 (40)        ;   --> user supplied buffer where to write the data 
  633. sizeof                     EQU *                    ; size:   $2C (44)
  634.                         ENDR
  635. ; ********************************************************
  636. ;  Contents Operations 
  637. ; *********************************************************
  638. ;  Opens a letter that is currently in a container. 
  639. MBOpenLetterPB            RECORD 0
  640. qLink                     ds.l    1                ; offset: $0 (0)
  641. reservedH1                 ds.l    1                ; offset: $4 (4)
  642. reservedH2                 ds.l    1                ; offset: $8 (8)
  643. ioCompletion             ds.l    1                ; offset: $C (12)
  644. ioResult                 ds.w    1                ; offset: $10 (16)
  645. saveA5                     ds.l    1                ; offset: $12 (18)
  646. reqCode                     ds.w    1                ; offset: $16 (22)
  647. containerRef             ds.l    1                ; offset: $18 (24)        ;   --> open container where the letter resides     
  648. seqNum                     ds        MailSeqNum        ; offset: $1C (28)        ;   --> mail sequence number of the desired letter     
  649. msgRef                     ds.l    1                ; offset: $22 (34)        ;  <--  the MailMsgRef authenticates the client to view the contents 
  650. sizeof                     EQU *                    ; size:   $26 (38)
  651.                         ENDR
  652. ;  Opens a letter that is currently on the disk. 
  653. MBOpenDiskLetterPB        RECORD 0
  654. qLink                     ds.l    1                ; offset: $0 (0)
  655. reservedH1                 ds.l    1                ; offset: $4 (4)
  656. reservedH2                 ds.l    1                ; offset: $8 (8)
  657. ioCompletion             ds.l    1                ; offset: $C (12)
  658. ioResult                 ds.w    1                ; offset: $10 (16)
  659. saveA5                     ds.l    1                ; offset: $12 (18)
  660. reqCode                     ds.w    1                ; offset: $16 (22)
  661. diskLetter                 ds        FSSpec            ; offset: $18 (24)        ;   --> the location of the mail item on disk 
  662. msgRef                     ds.l    1                ; offset: $5E (94)        ;  <--  the MailMsgRef authenticates the client to view the contents 
  663. sizeof                     EQU *                    ; size:   $62 (98)
  664.                         ENDR
  665. ;  Closes a letter that is currently open. 
  666. MBCloseLetterPB            RECORD 0
  667. qLink                     ds.l    1                ; offset: $0 (0)
  668. reservedH1                 ds.l    1                ; offset: $4 (4)
  669. reservedH2                 ds.l    1                ; offset: $8 (8)
  670. ioCompletion             ds.l    1                ; offset: $C (12)
  671. ioResult                 ds.w    1                ; offset: $10 (16)
  672. saveA5                     ds.l    1                ; offset: $12 (18)
  673. reqCode                     ds.w    1                ; offset: $16 (22)
  674. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> mail sequence number of the letter to close 
  675. sizeof                     EQU *                    ; size:   $1C (28)
  676.                         ENDR
  677. ;  Opens a letter that is nested within another. 
  678. MBOpenNestedLetterPB    RECORD 0
  679. qLink                     ds.l    1                ; offset: $0 (0)
  680. reservedH1                 ds.l    1                ; offset: $4 (4)
  681. reservedH2                 ds.l    1                ; offset: $8 (8)
  682. ioCompletion             ds.l    1                ; offset: $C (12)
  683. ioResult                 ds.w    1                ; offset: $10 (16)
  684. saveA5                     ds.l    1                ; offset: $12 (18)
  685. reqCode                     ds.w    1                ; offset: $16 (22)
  686. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> MailMsgRef of the containing letter 
  687. nestedMsgRef             ds.l    1                ; offset: $1C (28)        ;  <--  MailMsgRef of the nested letter 
  688. sizeof                     EQU *                    ; size:   $20 (32)
  689.                         ENDR
  690. ;  Returns the path where the enclosures of a certain letter are kept. 
  691. MBReadEnclosureFSSpecPB    RECORD 0
  692. qLink                     ds.l    1                ; offset: $0 (0)
  693. reservedH1                 ds.l    1                ; offset: $4 (4)
  694. reservedH2                 ds.l    1                ; offset: $8 (8)
  695. ioCompletion             ds.l    1                ; offset: $C (12)
  696. ioResult                 ds.w    1                ; offset: $10 (16)
  697. saveA5                     ds.l    1                ; offset: $12 (18)
  698. reqCode                     ds.w    1                ; offset: $16 (22)
  699. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> message for which to read enclosure information 
  700. enclosureDir             ds        FSSpec            ; offset: $1C (28)        ;  <--  full path of directory where enclosures are stored 
  701. sizeof                     EQU *                    ; size:   $62 (98)
  702.                         ENDR
  703. ;  Returns the path where the content of a certain letter is kept. 
  704. MBReadContentFSSpecPB    RECORD 0
  705. qLink                     ds.l    1                ; offset: $0 (0)
  706. reservedH1                 ds.l    1                ; offset: $4 (4)
  707. reservedH2                 ds.l    1                ; offset: $8 (8)
  708. ioCompletion             ds.l    1                ; offset: $C (12)
  709. ioResult                 ds.w    1                ; offset: $10 (16)
  710. saveA5                     ds.l    1                ; offset: $12 (18)
  711. reqCode                     ds.w    1                ; offset: $16 (22)
  712. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> message for which to read the content 
  713. enclosureDir             ds        FSSpec            ; offset: $1C (28)        ;  <--  full path and file name for main enclosure 
  714. sizeof                     EQU *                    ; size:   $62 (98)
  715.                         ENDR
  716. ;  Enumerates across the blocks of a letter. 
  717. MBEnumerateBlocksPB        RECORD 0
  718. qLink                     ds.l    1                ; offset: $0 (0)
  719. reservedH1                 ds.l    1                ; offset: $4 (4)
  720. reservedH2                 ds.l    1                ; offset: $8 (8)
  721. ioCompletion             ds.l    1                ; offset: $C (12)
  722. ioResult                 ds.w    1                ; offset: $10 (16)
  723. saveA5                     ds.l    1                ; offset: $12 (18)
  724. reqCode                     ds.w    1                ; offset: $16 (22)
  725. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> letter whose blocks are to be enumerated 
  726. startIndex                 ds.w    1                ; offset: $1C (28)        ;   --> starting block index 
  727. buffer                     ds        MailBuffer        ; offset: $1E (30)        ;  <--> user-allocated buffer where blocks are returned 
  728. nextIndex                 ds.w    1                ; offset: $2A (42)        ;  <--  Index of next block returned here 
  729. more                     ds.b    1                ; offset: $2C (44)        ;  <--  true if more blocks to process 
  730. filler                     ds.b    1                ; offset: $2D (45)
  731. sizeof                     EQU *                    ; size:   $2E (46)
  732.                         ENDR
  733. ;  Returns a buffer of all the recipients of a certain letter 
  734. MBReadRecipientsPB        RECORD 0
  735. qLink                     ds.l    1                ; offset: $0 (0)
  736. reservedH1                 ds.l    1                ; offset: $4 (4)
  737. reservedH2                 ds.l    1                ; offset: $8 (8)
  738. ioCompletion             ds.l    1                ; offset: $C (12)
  739. ioResult                 ds.w    1                ; offset: $10 (16)
  740. saveA5                     ds.l    1                ; offset: $12 (18)
  741. reqCode                     ds.w    1                ; offset: $16 (22)
  742. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> message about which to get recipient info 
  743. attrID                     ds.w    1                ; offset: $1C (28)        ;   --> type of recipient, kMailFromBit through kMailBccBit 
  744. startIndex                 ds.w    1                ; offset: $1E (30)        ;   --> position in recipient list at which to begin, starts at 1 
  745. buffer                     ds        MailBuffer        ; offset: $20 (32)        ;  <--> buffer contains a Mail Reply. Each tuple is an OCEPackedRecipient. Each tuple is word aligned. 
  746. nextIndex                 ds.w    1                ; offset: $2C (44)        ;  <--  Index of next tuple that didn't fit in buffer 
  747. more                     ds.b    1                ; offset: $2E (46)        ;  <--  true if there are more recipient tuples to process 
  748. filler                     ds.b    1                ; offset: $2F (47)
  749. sizeof                     EQU *                    ; size:   $30 (48)
  750.                         ENDR
  751. ;  Reads the attributes of a letter as specified in the requestMask. 
  752. ;
  753. ;    buffer returned will contain the attribute values of 
  754. ;    the attributes indicated in responseMask, 
  755. ;    from the attribute indicated by the least significant bit set
  756. ;    to the attribute indicated by the most significant bit set.
  757. ;    Note that recipients - from, to, cc, bcc cannot be read using
  758. ;    this call. Use GetRecipients to read these.
  759. ;
  760. MBReadAttributesPB        RECORD 0
  761. qLink                     ds.l    1                ; offset: $0 (0)
  762. reservedH1                 ds.l    1                ; offset: $4 (4)
  763. reservedH2                 ds.l    1                ; offset: $8 (8)
  764. ioCompletion             ds.l    1                ; offset: $C (12)
  765. ioResult                 ds.w    1                ; offset: $10 (16)
  766. saveA5                     ds.l    1                ; offset: $12 (18)
  767. reqCode                     ds.w    1                ; offset: $16 (22)
  768. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> letter whose attributes you wish to get 
  769. requestMask                 ds.l    1                ; offset: $1C (28)        ;   --> which attributes to get, kMailIndicationsBit through kMailSubjectBit 
  770. buffer                     ds        MailBuffer        ; offset: $20 (32)        ;  <--> attributes returned in this user supplied buffer 
  771. responseMask             ds.l    1                ; offset: $2C (44)        ;  <-- returns bits of those attributes that were returned 
  772. more                     ds.b    1                ; offset: $30 (48)        ;  <-- true if there are more recipient tuples to process 
  773. filler                     ds.b    1                ; offset: $31 (49)
  774. sizeof                     EQU *                    ; size:   $32 (50)
  775.                         ENDR
  776. ;  Reads the block of a letter. 
  777. MBReadBlockPB            RECORD 0
  778. qLink                     ds.l    1                ; offset: $0 (0)
  779. reservedH1                 ds.l    1                ; offset: $4 (4)
  780. reservedH2                 ds.l    1                ; offset: $8 (8)
  781. ioCompletion             ds.l    1                ; offset: $C (12)
  782. ioResult                 ds.w    1                ; offset: $10 (16)
  783. saveA5                     ds.l    1                ; offset: $12 (18)
  784. reqCode                     ds.w    1                ; offset: $16 (22)
  785. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> letter whose blocks you wish to read 
  786. blockType                 ds        OCECreatorType ; offset: $1C (28)        ;   --> specifies creator and type of the block to read 
  787. blockIndex                 ds.w    1                ; offset: $24 (36)        ;   --> relative position of the block of that type to read 
  788. buffer                     ds        MailBuffer        ; offset: $26 (38)        ;  <--> user suppied buffer to reciev the information 
  789. dataOffset                 ds.l    1                ; offset: $32 (50)        ;   --> byte offset within the block at which to start reading 
  790. endOfBlock                 ds.b    1                ; offset: $36 (54)        ;  <--  indicates whether the call has returned the entire block 
  791. filler                     ds.b    1                ; offset: $37 (55)
  792. remaining                 ds.l    1                ; offset: $38 (56)        ;  <--  number of bytes of data remaining in the block 
  793. sizeof                     EQU *                    ; size:   $3C (60)
  794.                         ENDR
  795. ;  Returns a SignatureContext that can be used to verify a signature. 
  796. MBVerifySignaturePB        RECORD 0
  797. qLink                     ds.l    1                ; offset: $0 (0)
  798. reservedH1                 ds.l    1                ; offset: $4 (4)
  799. reservedH2                 ds.l    1                ; offset: $8 (8)
  800. ioCompletion             ds.l    1                ; offset: $C (12)
  801. ioResult                 ds.w    1                ; offset: $10 (16)
  802. saveA5                     ds.l    1                ; offset: $12 (18)
  803. reqCode                     ds.w    1                ; offset: $16 (22)
  804. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> letter containing the signature to verify 
  805. signatureContext         ds.l    1                ; offset: $1C (28)        ;   --> previously obtained signature context 
  806. sizeof                     EQU *                    ; size:   $20 (32)
  807.                         ENDR
  808. ;  Creates a letter given the relevant info about the letter. 
  809. MBCreateLetterPB        RECORD 0
  810. qLink                     ds.l    1                ; offset: $0 (0)
  811. reservedH1                 ds.l    1                ; offset: $4 (4)
  812. reservedH2                 ds.l    1                ; offset: $8 (8)
  813. ioCompletion             ds.l    1                ; offset: $C (12)
  814. ioResult                 ds.w    1                ; offset: $10 (16)
  815. saveA5                     ds.l    1                ; offset: $12 (18)
  816. reqCode                     ds.w    1                ; offset: $16 (22)
  817. msgRef                     ds.l    1                ; offset: $18 (24)        ;  <--  MailMsgRef of the letter just created 
  818. senderIdentity             ds.l    1                ; offset: $1C (28)        ;   --> authenticated identity of the sender  
  819. msgType                     ds        IPMMsgType        ; offset: $20 (32)        ;   --> type, creator, and class of the sending application 
  820. diskForm                 ds.b    1                ; offset: $44 (68)        ;   --> true to create letter on disk, otherwise in the outbox 
  821. filler                     ds.b    1                ; offset: $45 (69)
  822. diskLetter                 ds        FSSpec            ; offset: $46 (70)        ;   --> diskForm is true, it specifies where to create the letter 
  823. bccRecipients             ds.b    1                ; offset: $8C (140)        ;   --> set to true if creating letter with bcc recipients 
  824. filler2                     ds.b    1                ; offset: $8D (141)
  825. sizeof                     EQU *                    ; size:   $8E (142)
  826.                         ENDR
  827. ;  Submits a letter for processing. 
  828. MBSubmitLetterPB        RECORD 0
  829. qLink                     ds.l    1                ; offset: $0 (0)
  830. reservedH1                 ds.l    1                ; offset: $4 (4)
  831. reservedH2                 ds.l    1                ; offset: $8 (8)
  832. ioCompletion             ds.l    1                ; offset: $C (12)
  833. ioResult                 ds.w    1                ; offset: $10 (16)
  834. saveA5                     ds.l    1                ; offset: $12 (18)
  835. reqCode                     ds.w    1                ; offset: $16 (22)
  836. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> ref to the letter that you wish to submit 
  837. submitFlag                 ds.b    1                ; offset: $1C (28)        ;   --> throw letter away if submitFlag is false 
  838. filler                     ds.b    1                ; offset: $1D (29)
  839. letterID                 ds        MailLetterID    ; offset: $1E (30)        ;  <--  persistent ID of the letter    accross the whole system 
  840. signaturePtr             ds.l    1                ; offset: $2E (46)        ;   --> pointer to digital signature 
  841. signatureSize             ds.l    1                ; offset: $32 (50)        ;   --> size of the digital signature 
  842. signatureContext         ds.l    1                ; offset: $36 (54)        ;   --> pointer to the signature context 
  843. sizeof                     EQU *                    ; size:   $3A (58)
  844.                         ENDR
  845. ;  Begin a nested mail item within some mail item. 
  846. MBBeginNestedLetterPB    RECORD 0
  847. qLink                     ds.l    1                ; offset: $0 (0)
  848. reservedH1                 ds.l    1                ; offset: $4 (4)
  849. reservedH2                 ds.l    1                ; offset: $8 (8)
  850. ioCompletion             ds.l    1                ; offset: $C (12)
  851. ioResult                 ds.w    1                ; offset: $10 (16)
  852. saveA5                     ds.l    1                ; offset: $12 (18)
  853. reqCode                     ds.w    1                ; offset: $16 (22)
  854. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> the letter within which you wish to nest 
  855. reserved                 ds.l    1                ; offset: $1C (28)        ;   --> must be set to NIL 
  856. msgType                     ds        IPMMsgType        ; offset: $20 (32)        ;   --> creator and type of the nested message to create 
  857. sizeof                     EQU *                    ; size:   $44 (68)
  858.                         ENDR
  859. ;  End the nested mail item. This function is always executed synchronously. 
  860. MBEndNestedLetterPB        RECORD 0
  861. qLink                     ds.l    1                ; offset: $0 (0)
  862. reservedH1                 ds.l    1                ; offset: $4 (4)
  863. reservedH2                 ds.l    1                ; offset: $8 (8)
  864. ioCompletion             ds.l    1                ; offset: $C (12)
  865. ioResult                 ds.w    1                ; offset: $10 (16)
  866. saveA5                     ds.l    1                ; offset: $12 (18)
  867. reqCode                     ds.w    1                ; offset: $16 (22)
  868. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> the message containing the nested letter to end 
  869. sizeof                     EQU *                    ; size:   $1C (28)
  870.                         ENDR
  871. ;  Add attributes to a mail item. 
  872. MBAddAttributePB        RECORD 0
  873. qLink                     ds.l    1                ; offset: $0 (0)
  874. reservedH1                 ds.l    1                ; offset: $4 (4)
  875. reservedH2                 ds.l    1                ; offset: $8 (8)
  876. ioCompletion             ds.l    1                ; offset: $C (12)
  877. ioResult                 ds.w    1                ; offset: $10 (16)
  878. saveA5                     ds.l    1                ; offset: $12 (18)
  879. reqCode                     ds.w    1                ; offset: $16 (22)
  880. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> the letter to wich you wish to add an attribute 
  881. attrID                     ds.w    1                ; offset: $1C (28)        ;   --> the type of attribute to add 
  882. buffer                     ds        MailBuffer        ; offset: $1E (30)        ;  <--> attributes stored in buffer are copied to the mail item 
  883. sizeof                     EQU *                    ; size:   $2A (42)
  884.                         ENDR
  885. ;  Adds an enclosure to a mail item. This function is always executed synchronously. 
  886. MBAddEnclosurePB        RECORD 0
  887. qLink                     ds.l    1                ; offset: $0 (0)
  888. reservedH1                 ds.l    1                ; offset: $4 (4)
  889. reservedH2                 ds.l    1                ; offset: $8 (8)
  890. ioCompletion             ds.l    1                ; offset: $C (12)
  891. ioResult                 ds.w    1                ; offset: $10 (16)
  892. saveA5                     ds.l    1                ; offset: $12 (18)
  893. reqCode                     ds.w    1                ; offset: $16 (22)
  894. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> the letter to wich you wish to add an enclosure 
  895. contentEnclosure         ds.b    1                ; offset: $1C (28)        ;   --> whethet this enclosure contains the main content of the mail 
  896. filler                     ds.b    1                ; offset: $1D (29)
  897. hfs                         ds.b    1                ; offset: $1E (30)        ;   --> true if in the file system, false if in memory 
  898. append                     ds.b    1                ; offset: $1F (31)        ;   --> whether to append data in buffer to current enclosure 
  899. buffer                     ds        MailBuffer        ; offset: $20 (32)        ;  <--> unused if hfs is true, otherwise it contains the file's resource and data forks 
  900. enclosure                 ds        FSSpec            ; offset: $2C (44)        ;   --> specifies the file or folder you wish to enclose 
  901. addlInfo                 ds        MailEnclosureInfo ; offset: $72 (114)    ;   --> specifies file system info for the enclosure 
  902. sizeof                     EQU *                    ; size:   $82 (130)
  903.                         ENDR
  904. ;  Adds a block to a mail item. 
  905. MBAddBlockPB            RECORD 0
  906. qLink                     ds.l    1                ; offset: $0 (0)
  907. reservedH1                 ds.l    1                ; offset: $4 (4)
  908. reservedH2                 ds.l    1                ; offset: $8 (8)
  909. ioCompletion             ds.l    1                ; offset: $C (12)
  910. ioResult                 ds.w    1                ; offset: $10 (16)
  911. saveA5                     ds.l    1                ; offset: $12 (18)
  912. reqCode                     ds.w    1                ; offset: $16 (22)
  913. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> the message to wich you wish to add a block 
  914. refCon                     ds.l    1                ; offset: $1C (28)        ;   --> reserved for your use 
  915. blockType                 ds        OCECreatorType ; offset: $20 (32)        ;   --> creator and type of the block that you want to write 
  916. append                     ds.b    1                ; offset: $28 (40)        ;   --> whether to append the data in you buffer to the current block 
  917. filler                     ds.b    1                ; offset: $29 (41)
  918. buffer                     ds        MailBuffer        ; offset: $2A (42)        ;  <--> stores the data you want to write to the message 
  919. mode                     ds.w    1                ; offset: $36 (54)        ;   --> if blockType is kMailTunnelLtrType or kMailHopInfoType mode is assumed to be kMailFromMark  
  920. offset                     ds.l    1                ; offset: $38 (56)        ;   --> offset to use to determine the starting point of the write set to 0 to start new block, ignored when append is false 
  921. sizeof                     EQU *                    ; size:   $3C (60)
  922.                         ENDR
  923. ;  Adds a letter to another one. 
  924. MBAddLetterPB            RECORD 0
  925. qLink                     ds.l    1                ; offset: $0 (0)
  926. reservedH1                 ds.l    1                ; offset: $4 (4)
  927. reservedH2                 ds.l    1                ; offset: $8 (8)
  928. ioCompletion             ds.l    1                ; offset: $C (12)
  929. ioResult                 ds.w    1                ; offset: $10 (16)
  930. saveA5                     ds.l    1                ; offset: $12 (18)
  931. reqCode                     ds.w    1                ; offset: $16 (22)
  932. newMsgRef                 ds.l    1                ; offset: $18 (24)        ;   --> the new letter you are composing 
  933. msgRef                     ds.l    1                ; offset: $1C (28)        ;   --> the original letter you want to add to the new letter 
  934. sizeof                     EQU *                    ; size:   $20 (32)
  935.                         ENDR
  936. ;  Adds content to a mail item. 
  937. MBAddContentPB            RECORD 0
  938. qLink                     ds.l    1                ; offset: $0 (0)
  939. reservedH1                 ds.l    1                ; offset: $4 (4)
  940. reservedH2                 ds.l    1                ; offset: $8 (8)
  941. ioCompletion             ds.l    1                ; offset: $C (12)
  942. ioResult                 ds.w    1                ; offset: $10 (16)
  943. saveA5                     ds.l    1                ; offset: $12 (18)
  944. reqCode                     ds.w    1                ; offset: $16 (22)
  945. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> message from which to add some content 
  946. segmentType                 ds.w    1                ; offset: $1C (28)        ;   --> segment type of data tou want to write 
  947. append                     ds.b    1                ; offset: $1E (30)        ;   --> whether to copy data from buffer into mail item 
  948. filler                     ds.b    1                ; offset: $1F (31)
  949. buffer                     ds        MailBuffer        ; offset: $20 (32)        ;  <--> place the data in this buffer 
  950. textScrap                 ds.l    1                ; offset: $2C (44)        ;   --> a pointer to a style scrap structure 
  951. startNewScript             ds.b    1                ; offset: $30 (48)        ;   --> whether the data in buffer uses a new character set 
  952. filler2                     ds.b    1                ; offset: $31 (49)
  953. script                     ds.w    1                ; offset: $32 (50)        ;   --> valid only if startNewScript is true 
  954. sizeof                     EQU *                    ; size:   $34 (52)
  955.                         ENDR
  956. ;  Reads the content of a mail item. 
  957. MBReadContentPB            RECORD 0
  958. qLink                     ds.l    1                ; offset: $0 (0)
  959. reservedH1                 ds.l    1                ; offset: $4 (4)
  960. reservedH2                 ds.l    1                ; offset: $8 (8)
  961. ioCompletion             ds.l    1                ; offset: $C (12)
  962. ioResult                 ds.w    1                ; offset: $10 (16)
  963. saveA5                     ds.l    1                ; offset: $12 (18)
  964. reqCode                     ds.w    1                ; offset: $16 (22)
  965. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> message from which to read the content 
  966. segmentMask                 ds.w    1                ; offset: $1C (28)        ;   --> the types of segments that you want to read 
  967. buffer                     ds        MailBuffer        ; offset: $1E (30)        ;  <--> user suppiled buffer into which to write the segment 
  968. textScrap                 ds.l    1                ; offset: $2A (42)        ;  <--> a pointer to a style scrap structure 
  969. script                     ds.w    1                ; offset: $2E (46)        ;  <--  the character set of the text placed in your buffer 
  970. segmentType                 ds.w    1                ; offset: $30 (48)        ;  <--  the type of the current data segment 
  971. endOfScript                 ds.b    1                ; offset: $32 (50)        ;  <--  whether the text in your buffer is the end of a script run 
  972. endOfSegment             ds.b    1                ; offset: $33 (51)        ;  <--  whether we reached the end of a segment 
  973. endOfContent             ds.b    1                ; offset: $34 (52)        ;  <--  whether we reached the end of the letter's content block 
  974. filler                     ds.b    1                ; offset: $35 (53)
  975. segmentLength             ds.l    1                ; offset: $36 (54)        ;  <--  number of bytes in the current segment 
  976. segmentID                 ds.l    1                ; offset: $3A (58)        ;  <--> segment identifier 
  977. sizeof                     EQU *                    ; size:   $3E (62)
  978.                         ENDR
  979. ;  Adds another recipient to a mail item. 
  980. MBAddRecipientPB        RECORD 0
  981. qLink                     ds.l    1                ; offset: $0 (0)
  982. reservedH1                 ds.l    1                ; offset: $4 (4)
  983. reservedH2                 ds.l    1                ; offset: $8 (8)
  984. ioCompletion             ds.l    1                ; offset: $C (12)
  985. ioResult                 ds.w    1                ; offset: $10 (16)
  986. saveA5                     ds.l    1                ; offset: $12 (18)
  987. reqCode                     ds.w    1                ; offset: $16 (22)
  988. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> message to which to add recipient information 
  989. attrID                     ds.w    1                ; offset: $1C (28)        ;   --> type of recipient to add to the message 
  990. recipient                 ds.l    1                ; offset: $1E (30)        ;   --> where you provide complete addressing information about recipient 
  991. invalid                     ds.b    1                ; offset: $22 (34)        ;   --> Must be set to false 
  992. filler                     ds.b    1                ; offset: $23 (35)
  993. sizeof                     EQU *                    ; size:   $24 (36)
  994.                         ENDR
  995. ;  Gets a font name from the letter, given a font number 
  996. MBGetFontNameFromLetterPB RECORD 0
  997. qLink                     ds.l    1                ; offset: $0 (0)
  998. reservedH1                 ds.l    1                ; offset: $4 (4)
  999. reservedH2                 ds.l    1                ; offset: $8 (8)
  1000. ioCompletion             ds.l    1                ; offset: $C (12)
  1001. ioResult                 ds.w    1                ; offset: $10 (16)
  1002. saveA5                     ds.l    1                ; offset: $12 (18)
  1003. reqCode                     ds.w    1                ; offset: $16 (22)
  1004. msgRef                     ds.l    1                ; offset: $18 (24)        ;   --> letter reference from which to get font table 
  1005. fontNum                     ds.w    1                ; offset: $1C (28)        ;   --> font number to obtain name of 
  1006. filler                     ds.w    1                ; offset: $1E (30)
  1007. fontName                 ds.l    1                ; offset: $20 (32)        ;  <--> user supplied buffer to be filled with font name 
  1008. sizeof                     EQU *                    ; size:   $24 (36)
  1009.                         ENDR
  1010. MailboxParam            RECORD 0
  1011. qLink                     ds.l    1                ; offset: $0 (0)
  1012. reservedH1                 ds.l    1                ; offset: $4 (4)
  1013. reservedH2                 ds.l    1                ; offset: $8 (8)
  1014. ioCompletion             ds.l    1                ; offset: $C (12)
  1015. ioResult                 ds.w    1                ; offset: $10 (16)
  1016. saveA5                     ds.l    1                ; offset: $12 (18)
  1017. reqCode                     ds.w    1                ; offset: $16 (22)
  1018. ;  Mailbox Operations 
  1019.                          ORG 0
  1020. mountMailboxPB             ds        MBMountMailboxPB ; offset: $0 (0)
  1021.                          ORG 0
  1022. unmountMailboxPB         ds        MBUnmountMailboxPB ; offset: $0 (0)
  1023. ;  Container and Letter Operations 
  1024.                          ORG 0
  1025. openContainerPB             ds        MBOpenContainerPB ; offset: $0 (0)
  1026.                          ORG 0
  1027. closeContainerPB         ds        MBCloseContainerPB ; offset: $0 (0)
  1028.                          ORG 0
  1029. reconnectOpenContainerPB  ds    MBReconnectOpenContainerPB ; offset: $0 (0)
  1030.                          ORG 0
  1031. getMailItemDataPB         ds        MBGetMailItemDataPB ; offset: $0 (0)
  1032.                          ORG 0
  1033. getMailItemCountPB         ds        MBGetMailItemCountPB ; offset: $0 (0)
  1034.                          ORG 0
  1035. createMailItemIteratorPB  ds    MBCreateMailItemIteratorPB ; offset: $0 (0)
  1036.                          ORG 0
  1037. disposeMailItemIteratorPB  ds    MBDisposeMailItemIteratorPB ; offset: $0 (0)
  1038.                          ORG 0
  1039. mailItemIteratePB         ds        MBMailItemIteratePB ; offset: $0 (0)
  1040.                          ORG 0
  1041. resetMailItemIteratorPB     ds        MBResetMailItemIteratorPB ; offset: $0 (0)
  1042.                          ORG 0
  1043. markLetterPB             ds        MBMarkLetterPB ; offset: $0 (0)
  1044.                          ORG 0
  1045. copyLocalPB                 ds        MBCopyLocalPB    ; offset: $0 (0)
  1046.                          ORG 0
  1047. copyToFilePB             ds        MBCopyToFilePB ; offset: $0 (0)
  1048.                          ORG 0
  1049. cancelCopyPB             ds        MBCancelCopyPB ; offset: $0 (0)
  1050.                          ORG 0
  1051. deleteLetterPB             ds        MBDeleteLetterPB ; offset: $0 (0)
  1052.                          ORG 0
  1053. sendNowPB                 ds        MBSendNowPB        ; offset: $0 (0)
  1054. ;  Notification and Changes Iterator Operations 
  1055.                          ORG 0
  1056. registerNotificationPB     ds        MBRegisterNotificationPB ; offset: $0 (0)
  1057.                          ORG 0
  1058. unregisterNotificationPB  ds    MBUnregisterNotificationPB ; offset: $0 (0)
  1059. ;  Progress Indicator Operations 
  1060.                          ORG 0
  1061. createProgressIndicatorPB  ds    MBCreateProgressIndicatorPB ; offset: $0 (0)
  1062.                          ORG 0
  1063. disposeProgressIndicatorPB  ds    MBDisposeProgressIndicatorPB ; offset: $0 (0)
  1064.                          ORG 0
  1065. getCurrentProgressPB     ds        MBGetCurrentProgressPB ; offset: $0 (0)
  1066. ;  Miscellaneous Operations 
  1067.                          ORG 0
  1068. getLetterSpecPB             ds        MBGetLetterSpecPB ; offset: $0 (0)
  1069.                          ORG 0
  1070. convertLetterSpecPB         ds        MBConvertLetterSpecPB ; offset: $0 (0)
  1071.                          ORG 0
  1072. getContainerTokenPB         ds        MBGetContainerTokenPB ; offset: $0 (0)
  1073.                          ORG 0
  1074. getContainerDataFromTokenPB  ds    MBGetContainerDataFromTokenPB ; offset: $0 (0)
  1075. ;  Contents Operations 
  1076.                          ORG 0
  1077. openLetterPB             ds        MBOpenLetterPB ; offset: $0 (0)
  1078.                          ORG 0
  1079. openDiskLetterPB         ds        MBOpenDiskLetterPB ; offset: $0 (0)
  1080.                          ORG 0
  1081. closeLetterPB             ds        MBCloseLetterPB ; offset: $0 (0)
  1082.                          ORG 0
  1083. openNestedLetterPB         ds        MBOpenNestedLetterPB ; offset: $0 (0)
  1084.                          ORG 0
  1085. readEnclosureFSSpecPB     ds        MBReadEnclosureFSSpecPB ; offset: $0 (0)
  1086.                          ORG 0
  1087. readContentFSSpecPB         ds        MBReadContentFSSpecPB ; offset: $0 (0)
  1088.                          ORG 0
  1089. enumerateBlocksPB         ds        MBEnumerateBlocksPB ; offset: $0 (0)
  1090.                          ORG 0
  1091. readRecipientsPB         ds        MBReadRecipientsPB ; offset: $0 (0)
  1092.                          ORG 0
  1093. readAttributesPB         ds        MBReadAttributesPB ; offset: $0 (0)
  1094.                          ORG 0
  1095. readBlockPB                 ds        MBReadBlockPB    ; offset: $0 (0)
  1096.                          ORG 0
  1097. verifySignaturePB         ds        MBVerifySignaturePB ; offset: $0 (0)
  1098.                          ORG 0
  1099. createLetterPB             ds        MBCreateLetterPB ; offset: $0 (0)
  1100.                          ORG 0
  1101. submitLetterPB             ds        MBSubmitLetterPB ; offset: $0 (0)
  1102.                          ORG 0
  1103. beginNestedLetterPB         ds        MBBeginNestedLetterPB ; offset: $0 (0)
  1104.                          ORG 0
  1105. endNestedLetterPB         ds        MBEndNestedLetterPB ; offset: $0 (0)
  1106.                          ORG 0
  1107. addAttributePB             ds        MBAddAttributePB ; offset: $0 (0)
  1108.                          ORG 0
  1109. addEnclosurePB             ds        MBAddEnclosurePB ; offset: $0 (0)        ;  this variant is SYSTEM8_DEPRECATED
  1110.                          ORG 0
  1111. addBlockPB                 ds        MBAddBlockPB    ; offset: $0 (0)
  1112.                          ORG 0
  1113. addLetterPB                 ds        MBAddLetterPB    ; offset: $0 (0)
  1114.                          ORG 0
  1115. addContentPB             ds        MBAddContentPB ; offset: $0 (0)
  1116.                          ORG 0
  1117. readContentPB             ds        MBReadContentPB ; offset: $0 (0)
  1118.                          ORG 0
  1119. addRecipientPB             ds        MBAddRecipientPB ; offset: $0 (0)
  1120.                          ORG 0
  1121. getFontNameFromLetterPB     ds        MBGetFontNameFromLetterPB ; offset: $0 (0)
  1122.                          ORG 142
  1123. sizeof                     EQU *                    ; size:   $8E (142)
  1124.                         ENDR
  1125. ; ------------------------------------------------------------------------------
  1126. ;     FUNCTION PROTOTYPES                                                           
  1127. ; ------------------------------------------------------------------------------
  1128. ; ********************************************************
  1129. ;  Mailbox Operations 
  1130. ; *********************************************************
  1131. ;
  1132. ; pascal OSErr MBMountMailbox(MailboxParam *mailParam, Boolean async)
  1133. ;
  1134.     IF ¨ GENERATINGCFM THEN
  1135.         Macro
  1136.         _MBMountMailbox
  1137.             move.w              #$0578,-(sp)
  1138.             dc.w                $AA5E
  1139.         EndM
  1140.     ELSE
  1141.         IMPORT_CFM_FUNCTION MBMountMailbox
  1142.     ENDIF
  1143.  
  1144. ;
  1145. ; pascal OSErr MBUnmountMailbox(MailboxParam *mailParam, Boolean async)
  1146. ;
  1147.     IF ¨ GENERATINGCFM THEN
  1148.         Macro
  1149.         _MBUnmountMailbox
  1150.             move.w              #$0579,-(sp)
  1151.             dc.w                $AA5E
  1152.         EndM
  1153.     ELSE
  1154.         IMPORT_CFM_FUNCTION MBUnmountMailbox
  1155.     ENDIF
  1156.  
  1157. ; ********************************************************
  1158. ;  MailItem Operations 
  1159. ; *********************************************************
  1160. ;
  1161. ; pascal OSErr MBOpenContainer(MailboxParam *mailParam, Boolean async)
  1162. ;
  1163.     IF ¨ GENERATINGCFM THEN
  1164.         Macro
  1165.         _MBOpenContainer
  1166.             move.w              #$0582,-(sp)
  1167.             dc.w                $AA5E
  1168.         EndM
  1169.     ELSE
  1170.         IMPORT_CFM_FUNCTION MBOpenContainer
  1171.     ENDIF
  1172.  
  1173. ;
  1174. ; pascal OSErr MBCloseContainer(MailboxParam *mailParam, Boolean async)
  1175. ;
  1176.     IF ¨ GENERATINGCFM THEN
  1177.         Macro
  1178.         _MBCloseContainer
  1179.             move.w              #$0583,-(sp)
  1180.             dc.w                $AA5E
  1181.         EndM
  1182.     ELSE
  1183.         IMPORT_CFM_FUNCTION MBCloseContainer
  1184.     ENDIF
  1185.  
  1186. ;
  1187. ; pascal OSErr MBReconnectOpenContainer(MailboxParam *mailParam, Boolean async)
  1188. ;
  1189.     IF ¨ GENERATINGCFM THEN
  1190.         Macro
  1191.         _MBReconnectOpenContainer
  1192.             move.w              #$057F,-(sp)
  1193.             dc.w                $AA5E
  1194.         EndM
  1195.     ELSE
  1196.         IMPORT_CFM_FUNCTION MBReconnectOpenContainer
  1197.     ENDIF
  1198.  
  1199. ;
  1200. ; pascal OSErr MBGetMailItemData(MailboxParam *mailParam, Boolean async)
  1201. ;
  1202.     IF ¨ GENERATINGCFM THEN
  1203.         Macro
  1204.         _MBGetMailItemData
  1205.             move.w              #$0592,-(sp)
  1206.             dc.w                $AA5E
  1207.         EndM
  1208.     ELSE
  1209.         IMPORT_CFM_FUNCTION MBGetMailItemData
  1210.     ENDIF
  1211.  
  1212. ;
  1213. ; pascal OSErr MBGetMailItemCount(MailboxParam *mailParam, Boolean async)
  1214. ;
  1215.     IF ¨ GENERATINGCFM THEN
  1216.         Macro
  1217.         _MBGetMailItemCount
  1218.             move.w              #$0584,-(sp)
  1219.             dc.w                $AA5E
  1220.         EndM
  1221.     ELSE
  1222.         IMPORT_CFM_FUNCTION MBGetMailItemCount
  1223.     ENDIF
  1224.  
  1225. ;
  1226. ; pascal OSErr MBCreateMailItemIterator(MailboxParam *mailParam, Boolean async)
  1227. ;
  1228.     IF ¨ GENERATINGCFM THEN
  1229.         Macro
  1230.         _MBCreateMailItemIterator
  1231.             move.w              #$0585,-(sp)
  1232.             dc.w                $AA5E
  1233.         EndM
  1234.     ELSE
  1235.         IMPORT_CFM_FUNCTION MBCreateMailItemIterator
  1236.     ENDIF
  1237.  
  1238. ;
  1239. ; pascal OSErr MBDisposeMailItemIterator(MailboxParam *mailParam, Boolean async)
  1240. ;
  1241.     IF ¨ GENERATINGCFM THEN
  1242.         Macro
  1243.         _MBDisposeMailItemIterator
  1244.             move.w              #$0586,-(sp)
  1245.             dc.w                $AA5E
  1246.         EndM
  1247.     ELSE
  1248.         IMPORT_CFM_FUNCTION MBDisposeMailItemIterator
  1249.     ENDIF
  1250.  
  1251. ;
  1252. ; pascal OSErr MBMailItemIterate(MailboxParam *mailParam, Boolean async)
  1253. ;
  1254.     IF ¨ GENERATINGCFM THEN
  1255.         Macro
  1256.         _MBMailItemIterate
  1257.             move.w              #$0587,-(sp)
  1258.             dc.w                $AA5E
  1259.         EndM
  1260.     ELSE
  1261.         IMPORT_CFM_FUNCTION MBMailItemIterate
  1262.     ENDIF
  1263.  
  1264. ;
  1265. ; pascal OSErr MBResetMailItemIterator(MailboxParam *mailParam, Boolean async)
  1266. ;
  1267.     IF ¨ GENERATINGCFM THEN
  1268.         Macro
  1269.         _MBResetMailItemIterator
  1270.             move.w              #$0588,-(sp)
  1271.             dc.w                $AA5E
  1272.         EndM
  1273.     ELSE
  1274.         IMPORT_CFM_FUNCTION MBResetMailItemIterator
  1275.     ENDIF
  1276.  
  1277. ;
  1278. ; pascal OSErr MBMarkLetter(MailboxParam *mailParam, Boolean async)
  1279. ;
  1280.     IF ¨ GENERATINGCFM THEN
  1281.         Macro
  1282.         _MBMarkLetter
  1283.             move.w              #$058C,-(sp)
  1284.             dc.w                $AA5E
  1285.         EndM
  1286.     ELSE
  1287.         IMPORT_CFM_FUNCTION MBMarkLetter
  1288.     ENDIF
  1289.  
  1290. ;
  1291. ; pascal OSErr MBCopyLocal(MailboxParam *mailParam, Boolean async)
  1292. ;
  1293.     IF ¨ GENERATINGCFM THEN
  1294.         Macro
  1295.         _MBCopyLocal
  1296.             move.w              #$058D,-(sp)
  1297.             dc.w                $AA5E
  1298.         EndM
  1299.     ELSE
  1300.         IMPORT_CFM_FUNCTION MBCopyLocal
  1301.     ENDIF
  1302.  
  1303. ;
  1304. ; pascal OSErr MBCopyToFile(MailboxParam *mailParam, Boolean async)
  1305. ;
  1306.     IF ¨ GENERATINGCFM THEN
  1307.         Macro
  1308.         _MBCopyToFile
  1309.             move.w              #$058E,-(sp)
  1310.             dc.w                $AA5E
  1311.         EndM
  1312.     ELSE
  1313.         IMPORT_CFM_FUNCTION MBCopyToFile
  1314.     ENDIF
  1315.  
  1316. ;
  1317. ; pascal OSErr MBCancelCopy(MailboxParam *mailParam, Boolean async)
  1318. ;
  1319.     IF ¨ GENERATINGCFM THEN
  1320.         Macro
  1321.         _MBCancelCopy
  1322.             move.w              #$058F,-(sp)
  1323.             dc.w                $AA5E
  1324.         EndM
  1325.     ELSE
  1326.         IMPORT_CFM_FUNCTION MBCancelCopy
  1327.     ENDIF
  1328.  
  1329. ;
  1330. ; pascal OSErr MBDeleteLetter(MailboxParam *mailParam, Boolean async)
  1331. ;
  1332.     IF ¨ GENERATINGCFM THEN
  1333.         Macro
  1334.         _MBDeleteLetter
  1335.             move.w              #$0590,-(sp)
  1336.             dc.w                $AA5E
  1337.         EndM
  1338.     ELSE
  1339.         IMPORT_CFM_FUNCTION MBDeleteLetter
  1340.     ENDIF
  1341.  
  1342. ;
  1343. ; pascal OSErr MBSendNow(MailboxParam *mailParam, Boolean async)
  1344. ;
  1345.     IF ¨ GENERATINGCFM THEN
  1346.         Macro
  1347.         _MBSendNow
  1348.             move.w              #$0591,-(sp)
  1349.             dc.w                $AA5E
  1350.         EndM
  1351.     ELSE
  1352.         IMPORT_CFM_FUNCTION MBSendNow
  1353.     ENDIF
  1354.  
  1355. ; ********************************************************
  1356. ;  MailItem Changes Operations 
  1357. ; *********************************************************
  1358. ;
  1359. ; pascal OSErr MBRegisterNotification(MailboxParam *mailParam, Boolean async)
  1360. ;
  1361.     IF ¨ GENERATINGCFM THEN
  1362.         Macro
  1363.         _MBRegisterNotification
  1364.             move.w              #$0596,-(sp)
  1365.             dc.w                $AA5E
  1366.         EndM
  1367.     ELSE
  1368.         IMPORT_CFM_FUNCTION MBRegisterNotification
  1369.     ENDIF
  1370.  
  1371. ;
  1372. ; pascal OSErr MBUnregisterNotification(MailboxParam *mailParam, Boolean async)
  1373. ;
  1374.     IF ¨ GENERATINGCFM THEN
  1375.         Macro
  1376.         _MBUnregisterNotification
  1377.             move.w              #$0597,-(sp)
  1378.             dc.w                $AA5E
  1379.         EndM
  1380.     ELSE
  1381.         IMPORT_CFM_FUNCTION MBUnregisterNotification
  1382.     ENDIF
  1383.  
  1384. ; ********************************************************
  1385. ;  Progress Indicator Operations 
  1386. ; ********************************************************
  1387. ;
  1388. ; pascal OSErr MBCreateProgressIndicator(MailboxParam *mailParam, Boolean async)
  1389. ;
  1390.     IF ¨ GENERATINGCFM THEN
  1391.         Macro
  1392.         _MBCreateProgressIndicator
  1393.             move.w              #$059C,-(sp)
  1394.             dc.w                $AA5E
  1395.         EndM
  1396.     ELSE
  1397.         IMPORT_CFM_FUNCTION MBCreateProgressIndicator
  1398.     ENDIF
  1399.  
  1400. ;
  1401. ; pascal OSErr MBDisposeProgressIndicator(MailboxParam *mailParam, Boolean async)
  1402. ;
  1403.     IF ¨ GENERATINGCFM THEN
  1404.         Macro
  1405.         _MBDisposeProgressIndicator
  1406.             move.w              #$059D,-(sp)
  1407.             dc.w                $AA5E
  1408.         EndM
  1409.     ELSE
  1410.         IMPORT_CFM_FUNCTION MBDisposeProgressIndicator
  1411.     ENDIF
  1412.  
  1413. ;
  1414. ; pascal OSErr MBGetCurrentProgress(MailboxParam *mailParam, Boolean async)
  1415. ;
  1416.     IF ¨ GENERATINGCFM THEN
  1417.         Macro
  1418.         _MBGetCurrentProgress
  1419.             move.w              #$059E,-(sp)
  1420.             dc.w                $AA5E
  1421.         EndM
  1422.     ELSE
  1423.         IMPORT_CFM_FUNCTION MBGetCurrentProgress
  1424.     ENDIF
  1425.  
  1426. ; ********************************************************
  1427. ;  Miscellaneous Operations 
  1428. ; *********************************************************
  1429. ;
  1430. ; pascal OSErr MBGetLetterSpec(MailboxParam *mailParam, Boolean async)
  1431. ;
  1432.     IF ¨ GENERATINGCFM THEN
  1433.         Macro
  1434.         _MBGetLetterSpec
  1435.             move.w              #$059F,-(sp)
  1436.             dc.w                $AA5E
  1437.         EndM
  1438.     ELSE
  1439.         IMPORT_CFM_FUNCTION MBGetLetterSpec
  1440.     ENDIF
  1441.  
  1442. ;
  1443. ; pascal OSErr MBConvertLetterSpec(MailboxParam *mailParam, Boolean async)
  1444. ;
  1445.     IF ¨ GENERATINGCFM THEN
  1446.         Macro
  1447.         _MBConvertLetterSpec
  1448.             move.w              #$0599,-(sp)
  1449.             dc.w                $AA5E
  1450.         EndM
  1451.     ELSE
  1452.         IMPORT_CFM_FUNCTION MBConvertLetterSpec
  1453.     ENDIF
  1454.  
  1455. ;
  1456. ; pascal OSErr MBGetContainerToken(MailboxParam *mailParam, Boolean async)
  1457. ;
  1458.     IF ¨ GENERATINGCFM THEN
  1459.         Macro
  1460.         _MBGetContainerToken
  1461.             move.w              #$0589,-(sp)
  1462.             dc.w                $AA5E
  1463.         EndM
  1464.     ELSE
  1465.         IMPORT_CFM_FUNCTION MBGetContainerToken
  1466.     ENDIF
  1467.  
  1468. ;
  1469. ; pascal OSErr MBGetContainerDataFromToken(MailboxParam *mailParam, Boolean async)
  1470. ;
  1471.     IF ¨ GENERATINGCFM THEN
  1472.         Macro
  1473.         _MBGetContainerDataFromToken
  1474.             move.w              #$058A,-(sp)
  1475.             dc.w                $AA5E
  1476.         EndM
  1477.     ELSE
  1478.         IMPORT_CFM_FUNCTION MBGetContainerDataFromToken
  1479.     ENDIF
  1480.  
  1481. ; ********************************************************
  1482. ;  Contents Operations 
  1483. ; *********************************************************
  1484. ;
  1485. ; pascal OSErr MBOpenLetter(MailboxParam *mailParam, Boolean async)
  1486. ;
  1487.     IF ¨ GENERATINGCFM THEN
  1488.         Macro
  1489.         _MBOpenLetter
  1490.             move.w              #$05A0,-(sp)
  1491.             dc.w                $AA5E
  1492.         EndM
  1493.     ELSE
  1494.         IMPORT_CFM_FUNCTION MBOpenLetter
  1495.     ENDIF
  1496.  
  1497. ;
  1498. ; pascal OSErr MBOpenDiskLetter(MailboxParam *mailParam, Boolean async)
  1499. ;
  1500.     IF ¨ GENERATINGCFM THEN
  1501.         Macro
  1502.         _MBOpenDiskLetter
  1503.             move.w              #$05A1,-(sp)
  1504.             dc.w                $AA5E
  1505.         EndM
  1506.     ELSE
  1507.         IMPORT_CFM_FUNCTION MBOpenDiskLetter
  1508.     ENDIF
  1509.  
  1510. ;
  1511. ; pascal OSErr MBCloseLetter(MailboxParam *mailParam, Boolean async)
  1512. ;
  1513.     IF ¨ GENERATINGCFM THEN
  1514.         Macro
  1515.         _MBCloseLetter
  1516.             move.w              #$05A2,-(sp)
  1517.             dc.w                $AA5E
  1518.         EndM
  1519.     ELSE
  1520.         IMPORT_CFM_FUNCTION MBCloseLetter
  1521.     ENDIF
  1522.  
  1523. ;
  1524. ; pascal OSErr MBOpenNestedLetter(MailboxParam *mailParam, Boolean async)
  1525. ;
  1526.     IF ¨ GENERATINGCFM THEN
  1527.         Macro
  1528.         _MBOpenNestedLetter
  1529.             move.w              #$05A3,-(sp)
  1530.             dc.w                $AA5E
  1531.         EndM
  1532.     ELSE
  1533.         IMPORT_CFM_FUNCTION MBOpenNestedLetter
  1534.     ENDIF
  1535.  
  1536. ;
  1537. ; pascal OSErr MBReadEnclosureFSSpec(MailboxParam *mailParam, Boolean async)
  1538. ;
  1539.     IF ¨ GENERATINGCFM THEN
  1540.         Macro
  1541.         _MBReadEnclosureFSSpec
  1542.             move.w              #$05A4,-(sp)
  1543.             dc.w                $AA5E
  1544.         EndM
  1545.     ELSE
  1546.         IMPORT_CFM_FUNCTION MBReadEnclosureFSSpec
  1547.     ENDIF
  1548.  
  1549. ;
  1550. ; pascal OSErr MBReadContentFSSpec(MailboxParam *mailParam, Boolean async)
  1551. ;
  1552.     IF ¨ GENERATINGCFM THEN
  1553.         Macro
  1554.         _MBReadContentFSSpec
  1555.             move.w              #$05A5,-(sp)
  1556.             dc.w                $AA5E
  1557.         EndM
  1558.     ELSE
  1559.         IMPORT_CFM_FUNCTION MBReadContentFSSpec
  1560.     ENDIF
  1561.  
  1562. ;
  1563. ; pascal OSErr MBEnumerateBlocks(MailboxParam *mailParam, Boolean async)
  1564. ;
  1565.     IF ¨ GENERATINGCFM THEN
  1566.         Macro
  1567.         _MBEnumerateBlocks
  1568.             move.w              #$05A6,-(sp)
  1569.             dc.w                $AA5E
  1570.         EndM
  1571.     ELSE
  1572.         IMPORT_CFM_FUNCTION MBEnumerateBlocks
  1573.     ENDIF
  1574.  
  1575. ;
  1576. ; pascal OSErr MBReadRecipients(MailboxParam *mailParam, Boolean async)
  1577. ;
  1578.     IF ¨ GENERATINGCFM THEN
  1579.         Macro
  1580.         _MBReadRecipients
  1581.             move.w              #$05A7,-(sp)
  1582.             dc.w                $AA5E
  1583.         EndM
  1584.     ELSE
  1585.         IMPORT_CFM_FUNCTION MBReadRecipients
  1586.     ENDIF
  1587.  
  1588. ;
  1589. ; pascal OSErr MBReadAttributes(MailboxParam *mailParam, Boolean async)
  1590. ;
  1591.     IF ¨ GENERATINGCFM THEN
  1592.         Macro
  1593.         _MBReadAttributes
  1594.             move.w              #$05A8,-(sp)
  1595.             dc.w                $AA5E
  1596.         EndM
  1597.     ELSE
  1598.         IMPORT_CFM_FUNCTION MBReadAttributes
  1599.     ENDIF
  1600.  
  1601. ;
  1602. ; pascal OSErr MBReadBlock(MailboxParam *mailParam, Boolean async)
  1603. ;
  1604.     IF ¨ GENERATINGCFM THEN
  1605.         Macro
  1606.         _MBReadBlock
  1607.             move.w              #$05A9,-(sp)
  1608.             dc.w                $AA5E
  1609.         EndM
  1610.     ELSE
  1611.         IMPORT_CFM_FUNCTION MBReadBlock
  1612.     ENDIF
  1613.  
  1614. ;
  1615. ; pascal OSErr MBVerifySignature(MailboxParam *mailParam, Boolean async)
  1616. ;
  1617.     IF ¨ GENERATINGCFM THEN
  1618.         Macro
  1619.         _MBVerifySignature
  1620.             move.w              #$05AA,-(sp)
  1621.             dc.w                $AA5E
  1622.         EndM
  1623.     ELSE
  1624.         IMPORT_CFM_FUNCTION MBVerifySignature
  1625.     ENDIF
  1626.  
  1627. ;
  1628. ; pascal OSErr MBCreateLetter(MailboxParam *mailParam, Boolean async)
  1629. ;
  1630.     IF ¨ GENERATINGCFM THEN
  1631.         Macro
  1632.         _MBCreateLetter
  1633.             move.w              #$05AB,-(sp)
  1634.             dc.w                $AA5E
  1635.         EndM
  1636.     ELSE
  1637.         IMPORT_CFM_FUNCTION MBCreateLetter
  1638.     ENDIF
  1639.  
  1640. ;
  1641. ; pascal OSErr MBSubmitLetter(MailboxParam *mailParam, Boolean async)
  1642. ;
  1643.     IF ¨ GENERATINGCFM THEN
  1644.         Macro
  1645.         _MBSubmitLetter
  1646.             move.w              #$05AC,-(sp)
  1647.             dc.w                $AA5E
  1648.         EndM
  1649.     ELSE
  1650.         IMPORT_CFM_FUNCTION MBSubmitLetter
  1651.     ENDIF
  1652.  
  1653. ;
  1654. ; pascal OSErr MBBeginNestedLetter(MailboxParam *mailParam, Boolean async)
  1655. ;
  1656.     IF ¨ GENERATINGCFM THEN
  1657.         Macro
  1658.         _MBBeginNestedLetter
  1659.             move.w              #$05AD,-(sp)
  1660.             dc.w                $AA5E
  1661.         EndM
  1662.     ELSE
  1663.         IMPORT_CFM_FUNCTION MBBeginNestedLetter
  1664.     ENDIF
  1665.  
  1666. ;
  1667. ; pascal OSErr MBEndNestedLetter(MailboxParam *mailParam, Boolean async)
  1668. ;
  1669.     IF ¨ GENERATINGCFM THEN
  1670.         Macro
  1671.         _MBEndNestedLetter
  1672.             move.w              #$05AE,-(sp)
  1673.             dc.w                $AA5E
  1674.         EndM
  1675.     ELSE
  1676.         IMPORT_CFM_FUNCTION MBEndNestedLetter
  1677.     ENDIF
  1678.  
  1679. ;
  1680. ; pascal OSErr MBAddAttribute(MailboxParam *mailParam, Boolean async)
  1681. ;
  1682.     IF ¨ GENERATINGCFM THEN
  1683.         Macro
  1684.         _MBAddAttribute
  1685.             move.w              #$05AF,-(sp)
  1686.             dc.w                $AA5E
  1687.         EndM
  1688.     ELSE
  1689.         IMPORT_CFM_FUNCTION MBAddAttribute
  1690.     ENDIF
  1691.  
  1692. ;
  1693. ; pascal OSErr MBAddEnclosure(MailboxParam *mailParam, Boolean async)
  1694. ;
  1695.     IF ¨ GENERATINGCFM THEN
  1696.         Macro
  1697.         _MBAddEnclosure
  1698.             move.w              #$05B0,-(sp)
  1699.             dc.w                $AA5E
  1700.         EndM
  1701.     ELSE
  1702.         IMPORT_CFM_FUNCTION MBAddEnclosure
  1703.     ENDIF
  1704.  
  1705. ;
  1706. ; pascal OSErr MBAddBlock(MailboxParam *mailParam, Boolean async)
  1707. ;
  1708.     IF ¨ GENERATINGCFM THEN
  1709.         Macro
  1710.         _MBAddBlock
  1711.             move.w              #$05B1,-(sp)
  1712.             dc.w                $AA5E
  1713.         EndM
  1714.     ELSE
  1715.         IMPORT_CFM_FUNCTION MBAddBlock
  1716.     ENDIF
  1717.  
  1718. ;
  1719. ; pascal OSErr MBAddLetter(MailboxParam *mailParam, Boolean async)
  1720. ;
  1721.     IF ¨ GENERATINGCFM THEN
  1722.         Macro
  1723.         _MBAddLetter
  1724.             move.w              #$05B2,-(sp)
  1725.             dc.w                $AA5E
  1726.         EndM
  1727.     ELSE
  1728.         IMPORT_CFM_FUNCTION MBAddLetter
  1729.     ENDIF
  1730.  
  1731. ;
  1732. ; pascal OSErr MBAddContent(MailboxParam *mailParam, Boolean async)
  1733. ;
  1734.     IF ¨ GENERATINGCFM THEN
  1735.         Macro
  1736.         _MBAddContent
  1737.             move.w              #$05B3,-(sp)
  1738.             dc.w                $AA5E
  1739.         EndM
  1740.     ELSE
  1741.         IMPORT_CFM_FUNCTION MBAddContent
  1742.     ENDIF
  1743.  
  1744. ;
  1745. ; pascal OSErr MBReadContent(MailboxParam *mailParam, Boolean async)
  1746. ;
  1747.     IF ¨ GENERATINGCFM THEN
  1748.         Macro
  1749.         _MBReadContent
  1750.             move.w              #$05B4,-(sp)
  1751.             dc.w                $AA5E
  1752.         EndM
  1753.     ELSE
  1754.         IMPORT_CFM_FUNCTION MBReadContent
  1755.     ENDIF
  1756.  
  1757. ;
  1758. ; pascal OSErr MBAddRecipient(MailboxParam *mailParam, Boolean async)
  1759. ;
  1760.     IF ¨ GENERATINGCFM THEN
  1761.         Macro
  1762.         _MBAddRecipient
  1763.             move.w              #$05B5,-(sp)
  1764.             dc.w                $AA5E
  1765.         EndM
  1766.     ELSE
  1767.         IMPORT_CFM_FUNCTION MBAddRecipient
  1768.     ENDIF
  1769.  
  1770. ;
  1771. ; pascal OSErr MBGetFontNameFromLetter(MailboxParam *mailParam, Boolean async)
  1772. ;
  1773.     IF ¨ GENERATINGCFM THEN
  1774.         Macro
  1775.         _MBGetFontNameFromLetter
  1776.             move.w              #$0598,-(sp)
  1777.             dc.w                $AA5E
  1778.         EndM
  1779.     ELSE
  1780.         IMPORT_CFM_FUNCTION MBGetFontNameFromLetter
  1781.     ENDIF
  1782.  
  1783.     ENDIF
  1784.     ENDIF ; __OCEMAILBOX__ 
  1785.  
  1786.